define(function(require, exports, module) {
    "use strict";
    
    require('jquery');
    if (typeof jQuery == 'undefined') { return; }

    /* [Global] 加载公共jQuery插件 */
    require('jq_form');
	require('jq_plugins');
    
    /* [Global] 重写jQuery Ajax param，防止中文乱码 */
    $.param = function(a) {
        var s = [];
        var encode = function(str) {
            if (/[^\x00-\xff]/g.test(str)) {
                str = escape(str);
                str = str.replace('/+/g', "%u002B");
            }
            return str;
        }

        function add(key, value) {
            s[s.length] = encode(key) + '=' + encode(value);
        }

        if (jQuery.isArray(a) || a.jquery) {
            jQuery.each(a, function() {
                add(this.name, this.value);
            });
        } else {
            for (var j in a) {
                if (a[j] && jQuery.isArray(a[j])) {
                    jQuery.each(a[j], function() {
                        add(j, this);
                    });
                } else {
                    add(j, jQuery.isFunction(a[j]) ? a[j]() : a[j]);
                }
            }
        }
        return s.join("&").replace(/%20/g, "+");
    }

    /* [Global] 托管 zexJs framework 到jQuery命名空间 */
    var __zex = require('zex');
    if (!window.jQuery.zex && __zex) {
        jQuery.extend({
            zex: __zex
        });
    }
    
});